Adaptive median filters for de-interlacing

ABSTRACT

An adaptive intra-field algorithm to de-interlace video data uses two line memories to implement a median filter that can use multiple data points on adjacent lines of display. In a median-mode, the filter outputs the median of the input data to create the value for a location on the intermediate line and can decrease image blurring. But if examination of the two adjacent pixels on two adjacent scan lines is small, as in the case of a vertical image line, the filter operates as a line average filter, to avoid creating image artifacts.

FIELD OF THE INVENTION

[0001] The invention relates generally to converting interlace-type video data, and more specifically to methods and devices to de-interlace such video data adaptively to reduce blurring without producing image artifacts.

BACKGROUND OF THE INVENTION

[0002] A video sequence is a series of still images. Transmitting or storing a video sequence involves use of a certain scan format to convert video sequence data into pixels. Two such scan formats are commonly used: interlaced and non-interlaced.

[0003] As shown in FIG. 1A, devices using interlaced format will first scan the odd-numbered image lines to construct a first image field, and then scan the even-numbered image lines to construct the second field. On the other hand, as shown in FIG. 1B, devices using non-interlaced format simply scan an image line-by-line to construct a frame. Television technology started with interlaced scan but more recently, thanks to advances in technology, many television sets can display non-interlaced video.

[0004] But as most video sources are still in interlaced format, so-called de-interlacing algorithms are needed. Generally speaking, a noninterlaced frame has N scan lines while an interlaced field has N/2 scan lines (every other noninterlaced scan line). Hence, a de-interlacing algorithm needs to fill in the missing scan lines based on the existing data.

[0005] De-interlacing algorithms can be classified into two categories: intra-field algorithms and inter-field algorithms. Intra-field algorithms use only the information in the current field, while inter-field algorithms explore the data in adjacent fields as well.

[0006] The simplest intra-field de-interlacing algorithm simply repeats the previous active scan line, a straightforward technique that unfortunately produces an image having poor visual quality. A better intra-field algorithm is so-called scan line interpolation, an example of which uses line averaging:

Line_(n)=0.5(Linen_(n−1)+Line_(n+1))

[0007] Referring to FIG. 1C, data for pixel a in line 1 is added to data for pixel b in line 2 and then averaged to a value for pixel x at intermediate line 1.5. Line averaging requires line memories and is thus more expensive to implement than the simple technique of repeating a line. Better results can be obtained if additional scan lines are used in scan line interpolation, but understandably even more line memory will be required, and implementation expenses will increase accordingly.

[0008] As noted, inter-field algorithms use not only information from the current field, but also use information from other fields, to produce generally superior viewing results. But implementing inter-field algorithms requires frame buffers, which can increase the complexity and the cost drastically. For this reason, inter-field algorithms are not commonly used in low-end devices.

[0009] What is needed is a de-interlacing algorithm that can provide better viewing quality close to inter-field algorithms, but at a complexity and cost level that is commensurate with simpler scan line interpolation techniques.

[0010] The present invention provides such an algorithm, and adaptive filters for implementing the algorithm.

SUMMARY OF THE INVENTION

[0011] The present invention provides an intra-field algorithm that uses two line memories. Rather than simply average between two lines as in the prior art, in a median-mode the present invention utilizes a median filter that uses three pixels in each of the two adjacent scan lines. The filter outputs the median of the input data to create the value for a pixel on the intermediate line, and can decrease blurring in the output image. To avoid image degradation when a thin vertical line is present, use of a median filter is adaptive. Thus, if examination of two adjacent pixels on two adjacent scan lines shows the difference to be large, median-mode filtering is used. But if the two pixel values are close, then common line averaging mode filtering is used.

[0012] Other features and advantages of the invention will appear from the following description in which the preferred embodiments have been set forth in detail, in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1A depicts interlaced scan format, according to the prior art;

[0014]FIG. 1B depicts non-interlaced scan format, according to the prior art;

[0015]FIG. 1C depicts simple line averaging, according to the prior art;

[0016]FIG. 2 depicts two line median filter averaging, according to the present invention;

[0017]FIG. 3A depicts an exemplary pre-interlaced 5×5 pixel display, according to the present invention;

[0018]FIG. 3B depicts post-interlaced data for a first field for the display of FIG. 3A, according to the present invention;

[0019]FIG. 3C depicts simple-averaged de-interlaced data from the field shown in FIG. 3B with edge blurring, according to the prior art;

[0020]FIG. 3D depicts data de-interlaced from the field shown in FIG. 3B using simple median filtering, according to the present invention;

[0021]FIG. 3E depicts an exemplary 3×3 field containing a vertical line, according to the prior art;

[0022]FIG. 3F depicts de-interlacing of the field shown in FIG. 3E using median filtering, according to the present invention;

[0023]FIG. 4 depicts use of median filtering to de-interlace color data containing a luma channel and two chroma channels, according to the present invention; and

[0024]FIG. 5 is a block diagram of an exemplary adaptive median filter for Y, UN channels, according to the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0025] As noted, a de-interlacing algorithm for use with inexpensive low-end devices should be straightforward and relatively inexpensive to implement. Thus, the present invention provides an intra-field algorithm that uses two line memories, but augments quality of the resultant image by using a median filter that operates upon three points in each of two lines to arrive at a value for a point in an intermediate line. While slightly more complicated to implement than simple line average, resultant image quality is enhanced, yet no additional line memories are required.

[0026]FIG. 2 depicts a first line with locations a, b, c, and second line with locations d, e, and f, and an intermediate line (denoted line 1.5) with a location x. According to the present invention, the data for location x is arrived at by using a median filter that examines the six points a, b, c, d, e, and f. The output of the median filter is the median value of (a, b, c, d, e, f). It is understood that “median” denotes the middle of a distribution in that half the data values in the distribution are higher than the median, and half are lower than the median. For example, the median of (1, 3, 6, 7, 8) is 6, and the median of (1, 3, 6, 7, 8, 9) is 6.5. Thus in FIG. 2, the value of x is the median of (a, b, c, d, e, f).

[0027] While arriving at the median value, one line memory is used to hold line 1 data for a, b, c, and a second line memory is used to hold line 2 data for d, e, f. Thus, it suffices if only two line memories are used. In implementing the present invention, a mechanism will sort out the six data values (a, b, c, d, e, f) and a mechanism will be used to average between two values. Sorting and averaging steps enable the present invention to compute the median, given six data values.

[0028] Advantageously, the present invention's use of median filtering can decrease blurring in some instances. Consider the 5×5 pre-interlace display pattern shown in FIG. 3A. After interlace, data for the first field of the pattern is as shown in FIG. 3B. Using prior art simple average de-interlacing techniques, the de-interlaced data from the first field would be as shown in FIG. 3C. Note the two regions of blurring.

[0029] Consider now the display shown in FIG. 3D, which represents data de-interlaced for the same field shown in FIG. 3B, using a median filter, according to the present invention, in which boundaries are determined using four point median filtering. Comparing the pattern shown in FIG. 3D produced by the present invention with the pattern shown in FIG. 3C, produced according to the prior art, it is seen that median filtering produces less blurring.

[0030] But in some instances, median filtering can produce artifacts, an undesired outcome, especially given the cost of implementing median filtering over straight line averaging. Consider the 3×3 pattern shown in FIG. 3E. If de-interlacing is carried out using simple line averaging according to the prior art, the same pattern will be recovered. It is understood in FIG. 3E that adjacent pixels on adjacent scan lines (e.g., pixels spaced-apart vertically) will have similar values. But if de-interlacing is carried out on the pattern shown in FIG. 3E using median filtering, the result will be as shown in FIG. 3F, an image that shows undesired artifacts.

[0031] Thus while a relatively simple median filter can provide advantageous results under some circumstances, a simple median filter may have difficulty in recovering an acceptable image where a vertical line (or the equivalent) is present. The present invention addresses this problem by providing adaptive median filtering. By adaptive filter it is meant that de-interlace filtering can be simple line averaging when the image at hand would benefit from such filtering, or advantageously can be median filtering, when the image at hand would benefit from median filtering.

[0032] Thus, in a preferred embodiment, a decision is made whether to use simple filtering or to use median filtering based upon the values of two adjacent pixels in adjacent scan lines. For example, in FIG. 2, pixel b on line 1 and pixel e on line 2 are adjacent to pixel x on line 1.5. If the values of pixels b and e are sufficiently close, the present invention will use a simple average line filter to arrive at a value for pixel x on line 1.5.

[0033] The relative closeness of pixel values such as pixels b and e in the above example preferably is determined using an algorithm. Such algorithm is based on the assumption that pixel values of a homogenous object are nearly identical. The actual threshold of “sufficiently close” depends on the video data being processed and is generally about 10% of the full range of the pixel value. In the preferred embodiment, the threshold is user adjustable via software.

[0034] The rationale for so doing is that when the value of adjacent pixels b, and e are sufficiently close, the likelihood of pixel x being in a relatively uniform region or belonging to a vertical texture region is extremely high. As is apparent from FIGS. 3E and 3F, to determine a value for pixel x using a median filter is disadvantageous under these circumstances. On the other hand, if the values for pixels b and e are not sufficiently close, the present invention will use median filtering to determine the value for pixel x on intermediate line 1.5, thus obtaining the benefit of less blurring (as was shown by FIG. 3D). In this manner, the present invention can adaptively provide de-interlace median filtering that reduces blurring while avoiding generation of artifacts in images containing vertical lines (or the like).

[0035] Use of a median filter with even number (e.g., 2, 4, . . . ) taps can be broken down into two steps for monochrome data: sorting and averaging. For color data, although each channel could be separately processed, it is more efficient to use a single channel during sorting to select the middle two pixels, and then to perform averaging on the pixels for all channels. This procedure can avoid color distortion problems if the sorting process returns different pixel sets from different channels.

[0036] In many practical applications, color data that contains a luma component and two chroma components will be present. Preferably the two chroma components are down-sampled and multiplexed onto the same channel. The luma channel may be used for the sorting step, and the averaging step can be performed for all three components. However it can be important to ensure that the chroma data are selected properly.

[0037]FIG. 4 depicts an example of such processing considerations. The two chroma components are labeled U and V and are multiplexed onto the same channel. Assume that pixel x is the pixel of interest, and assume that the difference in values between adjacent pixel b (line 1) and pixel e (line 2) is relatively large. Assume also that pixels c and d represent the middle two values of pixels a, b, c, d, e, and f in the luma channel. Under these assumptions, for the luma channel x should be 0.5·(c+d).

[0038] But for the corresponding x′ value in the chroma channel in FIG. 4, the average of c′ and d′ cannot be used as the value x′ should be for the U-component, while the values for c′ and d′ are for the V-component. The present invention attains the corresponding U-value for x′ by using the average of l′ and m′ values.

[0039]FIG. 5 is an exemplary block diagram of a system to implement adaptive median filtering for Y, and UN channels, according to the present invention. For ease of illustration and explanation, the present invention has been described primarily with respect to two scan lines having three pixels per line. It is understood, however, that the present invention is applicable for use with systems employing more than two scan lines, and/or more than three pixels per line.

[0040] Modifications and variations may be made to the disclosed embodiments without departing from the subject and spirit of the invention as defined by the following claims. 

What is claimed is:
 1. A method to de-interlace interlaced video data that comprises odd and even numbered lines of image data defining respective first and second image fields, the method comprising the following steps: (a) examining at least three pixels values on each line of an adjacent pair of even and odd numbered lines of image data; (b) generating a median value of the at least six pixel values examined in step (a); and (c) defining a pixel value having said median value determined at step (b) for use on a line intermediate the two lines of image data used at step (a).
 2. The method of claim 1, wherein at step (a) the number of pixels examined for each of said lines of pixel data is three.
 3. The method of claim 1, wherein at step (a) the number of pixels examined for each of said lines of pixel data is four.
 4. The method of claim 1, wherein step (a) includes storing each of said pixel values before they are examined.
 5. The method of claim 1, wherein step (a) includes storing in a first line memory pixel values on a first line in said adjacent pair, and storing in a second line memory pixel values on a second line in said adjacent pair.
 6. The method of claim 1, wherein step (b) includes: (b-1) sorting-by-value each of said pixel values; and (b-2) averaging pixel values sorted in step (b-1) to obtain said median value.
 7. The method of claim 6, wherein: said interlaced video data includes a luma channel and first and second chroma channels of data; step (b-1) is carried out on pixel values representing luma channel data; and step (b-2) is carried out on pixel values representing said luma channel data, and said first and second chroma channels of data.
 8. The method of claim 7, further including: down-sampling and multiplexing said first and second chroma channels of data onto a single channel before using said data.
 9. A method to adaptively de-interlace interlaced video data that comprises odd and even numbered lines of image data defining respective first and second image fields, the method comprising the following steps: (a) examining at least one adjacent pixel value on each line of an adjacent pair of even and odd numbered lines of image data; (b) if step (a) determines that values of examined said adjacent pixel values are within a pre-determined value of closeness, averaging pixel values on adjacent ones of said odd and even numbered lines to generate an averaged pixel value to use on a line of image data intermediate thereto; and (c) if step (a) determines that values of examined said pixel values exceed a pre-determined value of closeness, then generating a median pixel value for use on a line of image data intermediate each adjacent pair of lines of image data.
 10. The method of claim 9, wherein step (c) includes (c-1) examining at least three pixels values on one of said odd numbered lines of image data and examining at least three pixel values on an adjacent one of said even numbered lines of image data; (c-2) generating a median value of the at least six pixel values examined in step (c-1); and (c-3) defining a pixel having said median value determined at step (c-2) for use on a line intermediate the pair of lines of image data used at step (c-1).
 11. The method of claim 9, where at step (c-1) the number of pixels examined for each of said lines of image data is three.
 12. The method of claim 9, wherein at step (c-1) the number of pixels examined for each of said lines of image data is four.
 13. The method of claim 9, wherein step (c-1) includes storing each of said pixel values before they are examined.
 14. The method of claim 9, wherein step (c-1) includes: storing in a first line memory pixel values on said one of said odd numbered lines of image data; and storing in a second line memory pixel values on said adjacent one of said even numbered lines.
 15. The method of claim 9, wherein step (c-2) includes: (c-2-a) sorting-by-value each of said pixel values; and (c-2-b) averaging sorted pixel values to obtain said median value.
 16. The method of claim 15, wherein: said interlaced video data includes a luma channel and first and second chroma channels of data; step (c-2-a) is carried out on pixel values representing luma channel data; and step (c-2-b) is carried out on pixel values representing said luma channel data, and said first and second chroma channels of data.
 17. The method of claim 16, further including: down-sampling and multiplexing said first and second chroma channels of data before using said data.
 18. An adaptive filter to adaptively de-interlace interlaced video data that comprises odd and even numbered lines of image data defining respective first and second image fields, the filter comprising: means for examining at least one adjacent pixel value on each line of an adjacent pair of even and odd numbered lines of image data and determining whether values of examined said adjacent pixel values are within a pre-determined value of closeness or exceed a pre-determined value of closeness, said means for examining outputting a signal indicating determining outcome; and means, coupled to received said signal, for configuring a filter to average pixel values on adjacent ones of said odd and even numbered lines to generate an averaged pixel value to use on a line of image data intermediate thereto if said signal indicates closeness within said predetermined value, and for configuring a filter to generate a median pixel value for use on a line of image data intermediate each adjacent pair of lines of image data if said signal indicates values of examined said pixel values exceed a pre-determined value of closeness; wherein said adaptive filter outputs pixel values for use on a line of image data intermediate lines of said interlaced image data such that an image constructed from data output by said adaptive filter exhibits at least one of reduced image blurring and reduced image artifacts.
 19. The adaptive filter of claim 18, further including: first and second line memories coupled to receive at least three pixel values on each line of an adjacent pair of said adjacent pair of even and odd numbered lines of image data; means for carrying out at least one of sorting said pixel values by value, and averaging sorted said pixel values to produce a median pixel value that is output by said filter when said pre-determined value is exceeded.
 20. The adaptive filter of claim 19, wherein: said interlaced video data includes a luma channel and first and second chroma channels of data; said means for carrying out sorts of pixel values representing luma channel data; and said means for carrying out averages of pixel values representing said luma channel data, and said first and second chroma channels of data. 